Technical Field
The present disclosure relates generally to computer-aided design (CAD) and, more specifically, to systems and methods for manipulating a three-dimensional (3D) object in a 3D model using a software widget and surface constraints.
Description of the Related Art
Many CAD programs, or any other type programs that allow a user to manipulate a 3D object within a virtual environment, include controls that allow a user to manipulate the 3D object in some type of user defined coordinate space. For example, a user may click on the object with the mouse and drag the object in the coordinate space to change the object's position in a particular viewing plane. In other cases, a user may select an object and manually change various parameters that affect the object's position or orientation within the coordinate space. For example, a user may select an object and then change parameters for the object's x, y, and z coordinates in a text box displayed somewhere in the graphical user interface.
Importantly, many of these controls are difficult to use and/or require the user to combine many commands in order to position and orient objects within the coordinate space. Therefore, what are needed in the art are new techniques for manipulating objects within a virtual environment.